package com.sign2024.sign2024project.farenergy;

import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;

/**
 * @author yujie
 * @data 2024/12/19 10:57
 */
public class TestController {
    public static String login() {
        // 创建 RestTemplate 实例
        RestTemplate restTemplate = new RestTemplate();
        // 定义请求的URL
        String url = "http://testos.dev.njyn.shucantech.cn/api/login/admin/limsadmin2022/testos.dev.njyn.shucantech.cn";
        // 发送 GET 请求并获取响应
        ResponseEntity<String> response = restTemplate.getForEntity(url, String.class);

        // 打印响应体
        String responseBody = response.getBody();
        // 使用 FastJSON 解析 JSON 响应体
        JSONObject jsonObject = JSON.parseObject(responseBody);
        // 获取 token
        JSONObject data = (JSONObject) jsonObject.get("data");
        String Authorization = (String) data.get("accessToken");
        return Authorization;
    }


    public static void main(String[] args) {
        String authorization = "eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImExODE2N2Y2NzZiYzRiMGE4MzI5OGI4MTZkYmM3MWQ3In0.EOScnlzBQvSZrZYfx_JswHk7_NhbXea6cRE075WVZcBqK0hmwoDplQyydZ6B-sQCLuNiDQEo4zIfy2rD202jXg";

        // 创建 RestTemplate 实例
        RestTemplate restTemplate = new RestTemplate();

        // 设置请求头
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);
        // 添加 Authorization 头
        headers.set("Authorization", "Bearer " + authorization);  // 注意：这里假设 token 前需要加 "Bearer "

        // 创建请求体 (JSON 数据)
        String requestBody = "";
//        String requestBody = String.format("{\"isAsc\": \"%s\", \"ordStatus\": \"%s\", \"ordNumber\": %d, \"page\": %d, \"pageSize\": %d}",
//                false, "试样分发", "ordNumber", 1, 50);

        // 封装请求体和请求头
        HttpEntity<String> requestEntity = new HttpEntity<>(requestBody, headers);
        Integer pageNum = 1;
        Integer pageSize = 20;

        // 发送 POST 请求
        String baseUrl = "http://dev.njyn.shucantech.cn/api/orderInfo/search";
        String url = baseUrl + "/" + pageNum + "/" + pageSize;
        ResponseEntity<String> response = restTemplate.postForEntity(url, requestEntity, String.class);

        // 打印响应体
        String responseBody = response.getBody();
        // 使用 FastJSON 解析 JSON 响应体
        JSONObject jsonObject = JSON.parseObject(responseBody);
//        System.out.println(jsonObject);

        JSONObject data = (JSONObject) jsonObject.get("data");
        JSONArray array = data.getJSONArray("list");

        for (Object item : array) {
//            System.out.println(item);
            // 将每个 item 转换为 JSONObject
            JSONObject record = (JSONObject) item;

//            // 提取字段值
            Integer ordId = Integer.valueOf(record.getString("ordId"));
            String ordCenter = record.getString("ordCenter");
            String ordType = record.getString("ordType");
            String ordQuality = record.getString("ordQuality");
            String ordNumber = record.getString("ordNumber");

            // 输出字段值
            System.out.println("ordId: " + ordId);
            System.out.println("ordCenter: " + ordCenter);
            System.out.println("ordType: " + ordType);
            System.out.println("ordQuality: " + ordQuality);
            System.out.println("ordNumber: " + ordNumber);
            System.out.println("-------------------------");
        }
    }

//    public static void main(String[] args) {
//        // 创建 RestTemplate 实例
//        RestTemplate restTemplate = new RestTemplate();
//
//        // 定义请求的URL
//        String url = "http://testos.dev.njyn.shucantech.cn/result/getResById/{resId}";
//
//        // 定义路径参数
//        Map<String, String> params = new HashMap<>();
//        params.put("resId", "123");
//
//        // 发送 GET 请求并获取响应
//        ResponseEntity<String> response = restTemplate.getForEntity(url, String.class, params);
//
//        // 打印响应体
//        String responseBody = response.getBody();
//        System.out.println("Response Body: " + responseBody);
//    }

    // http://dev.njyn.shucantech.cn/api/orderInfo/resultByStatus

    // 更新 样品状态 以及 检测状态
    // 未 避免 数据量过多 掐头 去尾 只保留之间步骤 的数据
    // 接口 是 post  参数可能是 ordId: 88, status: "未领样"

    // 试样分发 http://dev.njyn.shucantech.cn/api/orderInfo/search/1/50
}
